<script setup lang="ts">

// 1. 定义别名类型
type Props = {
  color: string
  size?: string
}

// 2.使用defineProps注解类型
const props = withDefaults(defineProps<Props>(), {
  size: 'big'
}) 
console.log(props);
// 子传父
// 1. 定义事件类型
type Emits = {
  (e: 'get-msg', msg: string): void
}

// 2. 给泛型参数传参
const emit = defineEmits<Emits>()

const clickFn = () => {
  emit('get-msg','我是个msg')
}
</script>

<template>
  <div class="son-page">
    子组件
    {{ color }} -- {{ size }}
    <button @click="clickFn">按钮</button>
  </div>
</template>

<style lang="scss" scoped></style>
